"""
@Time: 2024/3/15 13:19
@Auther: hwx
@Desc: 08-字符串的定义和操作

字符串是字符的容器，一个字符串可以存放任意数量的字符。
如，字符串："itheima"

和其它容器如：列表、元组一样，字符串也可以通过下标进行访问
 · 从前向后，下标从0开始
 · 从后向前，下标从-1开始

字符串的特点
作为数据容器，字符串有如下特点：
 · 只可以存储字符串
 · 长度任意（取决于内存大小）
 · 支持下标索引
 · 允许重复字符串存在
 · 不可以修改（增加或删除元素等）
 · 支持for循环


"""

my_str = "itheima and itcast"
# 通过下标索引取值
value = my_str[2]
value2 = my_str[-16]
print(f"从字符串{my_str}取下标为2的元素的值是：{value},取下标为-16的元素的值是：{value2}")

# 字符串不可修改，下面的操作  ！！不可！！  完成
# my_str[2] = "H"

# index方法
valve = my_str.index("and")
print(f"在字符串{my_str}中查找and,其起始下标是：{valve}")

# replace方法
new_my_str = my_str.replace("it", "程序")
print(f"将字符串{my_str},进行替换后得到：{new_my_str}")

# split方法
my_str = "hello python itheima itcast"
my_str_list = my_str.split(" ")
print(f"将字符串{my_str}进行split切分后得到：{my_str_list},类型是：{type(my_str_list)}")

# strip方法
my_str = "  itheima and itcast  "
new_my_str = my_str.strip()  # 不传入参数，去除首尾空格
print(f"字符串{my_str}被strip后，结果：{new_my_str}")
my_str = "12itheima and itcast21"

new_my_str = my_str.strip("12")  # 去除首尾的数字1和2
print(f"字符串{my_str}被strip('12')后，结果：{new_my_str}")

# 统计字符串中某字符串的出现次数, count
my_str = "itheima and itcast"
count = my_str.count("it")
print(f"字符串{my_str}中it出现的次数是：{count}")

# 统计字符串的长度, len
num = len(my_str)
print(f"字符串{my_str}的长度是：{num}")
